The redundant arrays of inexpensive disks (RAID) technology is used widely in storage systems. The RAID technology provides higher protection for recorded data by performing recoding control such that the data is made redundant and is stored on two or more storage devices. The RAID technology includes multiple recording control modes (RAID levels). For example, in recording control modes such as RAID 4, RAID 5, and RAID 6, data is made redundant using parities. To put it specifically, the control is performed such that: one or more parities are calculated based on a certain number of data; and the data and the parities are recorded respectively in different storage devices.
The recording control modes using the parities like this request a storage device group controlled by RAID to be accessed multiple times during each write process. This causes problems that the amount of time requested to complete the write process is longer and the process load is higher. For example, in the case of RAID 5, once data is requested to be updated, the pre-updated old data and old parity calculated based on the old data are read from the storage device group. Thereafter, new parity is calculated based on the old data, the old parity, and the new data obtained through the updating, as well as the new data and the new parity are written to the storage device group. Like this, accesses such as the reading of the old data and the old parity are performed during the write process. These accesses are called “write penalty”. Once the occurrence of the write penalty like this increases load on the write process, there is likelihood that the access performance of the storage system as a whole deteriorates.
Against this background, there has been a proposal for a technique in which when data is requested to be read, read data (corresponding to the old data) and parity (corresponding to the old parity) calculated using the read data are staged on a cache memory. This technique makes it possible to calculate new parity based on the old data and the old parity staged in the cache memory, as well as write data (corresponding to the new data) when data is requested to be read. This requests neither the old data nor the old parity to be read from the storage device group, and avoids the occurrence of the write penalty. Among prior art documents are Japanese Laid-open Patent Publications Nos. 2003-263365 and 7-110788.
An aspect of the embodiment discussed herein aims at providing a storage control device and a storage control program which are capable of reducing the load on the write process while using a small storage capacity.